package com.wei.czz.framework.admin.service;

import com.wei.czz.common.dto.admin.userRisk.UserRiskDto;
import com.wei.czz.common.tool.PageDto;
import com.wei.czz.common.vo.admin.userRisk.UserRiskFormVo;
import com.wei.czz.framework.admin.entity.UserRiskFlowEntity;

import java.util.List;
import java.util.Set;


/**
 * Created by IntelliJ IDEA.
 *
 * @author wei
 * date: 2022-04-15 21:40:39
 * className: UserRiskFlowService 用户风险记录请求服务接口
 * version: 1.0
 * description:
 */
public interface UserRiskFlowService {

    /**
     * 保存用户风控记录操作
     * @param userRiskFlow 用户风控记录对象
     */
    void saveOrEdit(UserRiskFlowEntity userRiskFlow);

    /**
     * 分页获取用户风控记录列表操作
     * @param userRiskFormVo 用户风控记录参数对象
     * @return 用户风控记录分页数据
     */
    PageDto<UserRiskFlowEntity> getPageList(UserRiskFormVo userRiskFormVo);

    /**
     * 获取用户风控记录操作
     * @param id 用户风控记录主键
     * @return 用户风控记录对象
     */
    UserRiskFlowEntity get(Long id);

    /**
     * 用户获取自己的风控记录信息操作
     * @param riskRecordId 风控记录主键
     * @return 操作结果
     */
    UserRiskDto getMyRisk(Long riskRecordId);

    /**
     * 获取用户风控信息列表操作
     * @param userId 用户主键
     * @return 用户风控记录对象
     */
    UserRiskFlowEntity findLastUserRiskFlow(Long userId);

    /**
     * 获取用户风控记录操作
     * @param userId 用户主键
     * @return 用户风控记录对象列表
     */
    List<UserRiskFlowEntity> findUserRiskFlowList(Long userId);

    /**
     * 获取被风控过的用户主键操作
     * @return 用户主键集合
     */
    Set<Long> getRiskUserIdSet();

}

